package com.ruoyi.system.service.impl;

import java.util.ArrayList;
import java.util.List;

import com.ruoyi.system.domain.vo.DataSearch;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.DataMapper;
import com.ruoyi.system.domain.Data;
import com.ruoyi.system.service.IDataService;

/**
 * 数据监测Service业务层处理
 * 
 * @author 小卤
 * @date 2025-04-04
 */
@Service
public class DataServiceImpl implements IDataService 
{
    @Autowired
    private DataMapper dataMapper;

    @Override
    public List<Data> getNewData() {
        return dataMapper.getNewData();
    }

    @Override
    public List<Data> searchData(DataSearch data) {
        List<Data> datas = null;
        if(data.getTimeType().equals("hour")){
            datas = dataMapper.searchDataHour(data);
        } else if(data.getTimeType().equals("day")){
            datas = dataMapper.searchDataDay(data);
        } else if(data.getTimeType().equals("month")){
            datas = dataMapper.searchDataMonth(data);
        } else if(data.getTimeType().equals("year")){
            datas = dataMapper.searchDataYear(data);
        } else {
            datas = new ArrayList<Data>();
        }
        return datas;
    }

    /**
     * 查询数据监测
     * 
     * @param dataId 数据监测主键
     * @return 数据监测
     */
    @Override
    public Data selectDataByDataId(Long dataId)
    {
        return dataMapper.selectDataByDataId(dataId);
    }

    /**
     * 查询数据监测列表
     * 
     * @param data 数据监测
     * @return 数据监测
     */
    @Override
    public List<Data> selectDataList(Data data)
    {
        return dataMapper.selectDataList(data);
    }

    /**
     * 新增数据监测
     * 
     * @param data 数据监测
     * @return 结果
     */
    @Override
    public int insertData(Data data)
    {
        return dataMapper.insertData(data);
    }

    /**
     * 修改数据监测
     * 
     * @param data 数据监测
     * @return 结果
     */
    @Override
    public int updateData(Data data)
    {
        return dataMapper.updateData(data);
    }

    /**
     * 批量删除数据监测
     * 
     * @param dataIds 需要删除的数据监测主键
     * @return 结果
     */
    @Override
    public int deleteDataByDataIds(Long[] dataIds)
    {
        return dataMapper.deleteDataByDataIds(dataIds);
    }

    /**
     * 删除数据监测信息
     * 
     * @param dataId 数据监测主键
     * @return 结果
     */
    @Override
    public int deleteDataByDataId(Long dataId)
    {
        return dataMapper.deleteDataByDataId(dataId);
    }
}
